<?php
/**
 * SDOActivitiesPrivilegeService  动态权限相关接口
 * 底层接口联系人 杨建东
 * 服务地址IP=114.80.135.7    端口=1234
 * 测试 URL http://114.80.135.7:8080/doc/index.html
 * @category   SDO
 * @package    PeopleService
 * @author     ggg <wangweijun01@snda.com> 2010-3-25 17:00
 * @copyright  SDO OP
 * @license    http://www.opensource.org/licenses/bsd-license.php  BSD License
 * @link       http://www.sdo.com/
 * @since      File available since Release 1.0.0
 */

include_once(dirname(__FILE__).'/SDOSocket.php');
include_once(dirname(__FILE__).'/SDOApiHelper.php');

class SDOActivitiesPrivilegeService {

 	/**
	 * 列出一个用户屏蔽的所有用户列表
	 * 返回一个列表，表中包含一个用户sdid屏蔽的所有用户的sdid
	 * @param Long		$sdid       	指定用户的数字账号
	 * @return  Array
	 */
	 static public function getShieldPeople($sdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_name = 'ActivitiesPrivilegeService.getShieldPeople';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 列出一个用户屏蔽的所有应用
	 * 返回一个列表，表中包含一个用户sdid屏蔽的所有appId
	 * @param Long		$sdid       	指定用户的数字账号
	 * @return  Array
	 */
	static public function getShieldApp($sdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_name = 'ActivitiesPrivilegeService.getShieldApp';
		return SDOSocket::send($api_name, $api_param);
	}

 	/**
	 * 列出一个用户屏蔽的所有应用
	 * 返回一个列表，表中包含一个用户sdid指定不产生动态的所有appId
	 * @param Long		$sdid       	指定用户的数字账号
	 * @return  Array
	 */
	static public function getSilentApp($sdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_name = 'ActivitiesPrivilegeService.getSilentApp';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 列出一个用户屏蔽的应用个数
	 * @param Long		$sdid       	指定用户的数字账号
	 * @return  Array
	 */
	static public function getCountShieldPeople($sdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_name = 'ActivitiesPrivilegeService.getCountShieldPeople';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 列出一个用户屏蔽的应用个数
	 * @param Long		$sdid       	指定用户的数字账号
	 * @return  Array
	 */
	static public function getCountShieldApp($sdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_name = 'ActivitiesPrivilegeService.getCountShieldApp';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 列出一个用户阻止产生动态的应用个数。
	 * @param Long		$sdid       	指定用户的数字账号
	 * @return  Array
	 */
	static public function getCountSilentApp($sdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_name = 'ActivitiesPrivilegeService.getCountSilentApp';
		return SDOSocket::send($api_name, $api_param);
	}

 	/**
	 * 屏蔽一个指定用户的所有动态
	 * 一个指定用户根据ssdid 屏蔽一个用户，不接受该用户发来的所有动态
	 * @param Long		$sdid       	用户sdid
	 * @param Long		$ssdid       	被屏蔽用户的Id
	 * @return  Array
	 */
	static public function addShieldPerson($sdid, $ssdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['ssdid'] = $ssdid;
		$api_name = 'ActivitiesPrivilegeService.addShieldPerson';
		return SDOSocket::send($api_name, $api_param);
	}

 	/**
	 * 屏蔽一个动态 
	 * 一个指定用户根据appId 屏蔽一个应用，不接受该应用发来的所有动态
	 * @param Long		$sdid       	用户sdid
	 * @param Long		$sappid       	被屏蔽app
	 * @return  Array
	 */
	static public function addShieldApp($sdid, $sappid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['sappid'] = $sappid;
		$api_name = 'ActivitiesPrivilegeService.addShieldApp';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 阻止自己的一个应用产生动态
	 * 一个指定用户根据appId 屏蔽一个自己的应用，该应用产生的动态将不会发布出去
	 * @param Long		$sdid       	用户sdid
	 * @param Long		$sappid       	被屏蔽app
	 * @return  Array
	 */
	static public function addSilentApp($sdid, $sappid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['sappid'] = $sappid;
		$api_name = 'ActivitiesPrivilegeService.addSilentApp';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 取消屏蔽某一个应用
	 * 取消用户屏蔽某用户，恢复接受该用户产生的动态
	 * @param Long		$sdid       	指定用户的数字账号
	 * @param Long		$ssdid       	要取消的用户sdid
	 * @return  Array
	 */
	static public function deleteShieldPerson($sdid, $ssdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['ssdid'] = $ssdid;
		$api_name = 'ActivitiesPrivilegeService.deleteShieldPerson';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 取消屏蔽某一个应用
	 * 取消用户屏蔽的某应用，恢复接受该应用产生的动态
	 * @param Long		$sdid       	指定用户的数字账号
	 * @param Long		$sappid       	要取消屏蔽的应用Id
	 * @return  Array
	 */
	static public function deleteShieldApp($sdid, $sappid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['sappid'] = $sappid;
		$api_name = 'ActivitiesPrivilegeService.deleteShieldApp';
		return SDOSocket::send($api_name, $api_param);
	}


 	/**
	 * 取消阻止某应用产生动态
	 * 取消用户屏蔽产生动态的某应用，该应用将继续产生动态并发布出去
	 * @param Long		$sdid       	指定用户的数字账号
	 * @param Long		$sappid       	要取消屏蔽的应用Id
	 * @return  Array
	 */
	static public function deleteSilentApp($sdid, $sappid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['sappid'] = $sappid;
		$api_name = 'ActivitiesPrivilegeService.deleteSilentApp';
		return SDOSocket::send($api_name, $api_param);
	}


	/**
	 * 判断一个用户是否阻止了某应用产生动态
	 * 判断用户sdid 是否阻止了appId 指定应用产生动态。
	 * @param Long		$sdid       	指定用户的数字账号
	 * @param Long		$sappid       	要判断的应用Id
	 * @return  Array
	 */
	static public function getJudgeSilentApp($sdid, $sappid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['sappid'] = $sappid;
		$api_name = 'ActivitiesPrivilegeService.getJudgeSilentApp';
		return SDOSocket::send($api_name, $api_param);
	}

 	/**
	 * 判断一个用户是否屏蔽了某应用
	 * 判断用户sdid 是否不接受appId 指名的应用的所有动态。
	 * @param Long		$sdid       	指定用户的数字账号
	 * @param Long		$sappid       	要判断的应用Id
	 * @return  Array
	 */
	static public function getJudgeShieldApp($sdid, $sappid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['sappid'] = $sappid;
		$api_name = 'ActivitiesPrivilegeService.getJudgeShieldApp';
		return SDOSocket::send($api_name, $api_param);
	}


	/**
	 * 判断一个用户是否屏蔽了某用户
	 * 判断用户sdid 是否不接受ssdid 指名的用户的所有动态。
	 * @param Long		$sdid       	指定用户的数字账号
	 * @param Long		$ssdid       	要判断的用户sdId
	 * @return  Array
	 */
	static public function getJudgeShieldPerson($sdid, $ssdid)
	{
		$api_param = array();
		$api_param['sdid'] = $sdid;
		$api_param['ssdid'] = $ssdid;
		$api_name = 'ActivitiesPrivilegeService.getJudgeShieldPerson';
		return SDOSocket::send($api_name, $api_param);
	}

   /*
	 * 检查返回是否正常
	 * @param $result 调用send后的结果
	 * @param $Error 返回错误码与信息
	 * @return boolean
	 */
	static public function isError(&$result, &$Error = NULL)
	{
		return SDOSocket::isError($result,$Error);
	}

}